home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
pcboard
/
read100.zip
/
BOOK.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-05-23
|
4KB
|
270 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
String STRING001
String TSTRING002(10)
String STRING003
String TSTRING004(10)
Declare Procedure PROC001(Var String STRING005, Integer INTEGER004)
;------------------------------------------------------------------------------
If (Exist(PPEPath() + "DATA\")) Goto LABEL001
Color 15
SPrintLn "Creating phone book data directory: " + PPEPath() + "DATA"
MkDir PPEPath() + "DATA"
Delay 5
:LABEL001
StartDisp 1
DispFile PPEPath() + "BOOK", 4
STRING001 = PPEPath() + "DATA\" + Strip(Left(U_Name(), 4) + Right(U_Name(), 4), " ")
If (Exist(STRING001)) Then
INTEGER001 = 1
FOpen 1, STRING001, 0, 0
:LABEL002
If (Ferr(1)) Goto LABEL003
FGet 1, TSTRING002(INTEGER001)
INTEGER001 = INTEGER001 + 1
Goto LABEL002
:LABEL003
FClose 1
For INTEGER001 = 1 To 10
STRING003 = Trim(TSTRING002(INTEGER001), " ")
If (STRING003 == "") Then
INTEGER002 = INTEGER001 - 1
Break
Endif
If (INTEGER001 < 6) Then
AnsiPos 13, INTEGER001 + 12
Goto LABEL004
Endif
AnsiPos 49, INTEGER001 + 7
:LABEL004
Print STRING003
Next
Endif
:LABEL005
AnsiPos 49, 21
Print "@X08·"
Backup 1
STRING003 = ""
PROC001(STRING003, 1)
Select Case (STRING003)
Case "A"
INTEGER001 = 1
Case "B"
INTEGER001 = 2
Case "C"
INTEGER001 = 3
Case "D"
INTEGER001 = 4
Case "E"
INTEGER001 = 5
Case "F"
INTEGER001 = 6
Case "G"
INTEGER001 = 7
Case "H"
INTEGER001 = 8
Case "I"
INTEGER001 = 9
Case "J"
INTEGER001 = 10
Case "Q"
Goto LABEL006
Case Else
Goto LABEL005
End Select
If (INTEGER001 < 6) Then
AnsiPos 13, INTEGER001 + 12
Else
AnsiPos 49, INTEGER001 + 7
Endif
PROC001(TSTRING002(INTEGER001), 24)
If (Trim(TSTRING002(INTEGER001), " ") == "") Then
TSTRING002(INTEGER001) = ""
Else
INTEGER003 = U_RecNum(TSTRING002(INTEGER001))
If (INTEGER003 == -1) Then
STRING003 = "@X04(@X0F" + TSTRING002(INTEGER001) + "@X04)@X0C is not a user here!"
INTEGER003 = Len(StripAtx(STRING003))
AnsiPos (80 - INTEGER003) / 2, 23
Print STRING003
STRING003 = ""
PROC001(STRING003, 0)
Backup 79
ClrEol
TSTRING002(INTEGER001) = ""
Endif
Endif
For INTEGER001 = 1 To 10
TSTRING004(INTEGER001) = TSTRING002(INTEGER001)
TSTRING002(INTEGER001) = ""
Next
INTEGER002 = 1
For INTEGER001 = 1 To 10
If (Trim(TSTRING004(INTEGER001), " ") <> "") Then
TSTRING002(INTEGER002) = TSTRING004(INTEGER001)
INTEGER002 = INTEGER002 + 1
Endif
Next
INTEGER002 = INTEGER002 - 1
For INTEGER001 = 1 To 10
If (INTEGER001 < 6) Then
AnsiPos 13, INTEGER001 + 12
Else
AnsiPos 49, INTEGER001 + 7
Endif
Print "@X08························"
If (INTEGER001 < 6) Then
AnsiPos 13, INTEGER001 + 12
Else
AnsiPos 49, INTEGER001 + 7
Endif
Color 7
Print TSTRING002(INTEGER001)
Next
Goto LABEL005
:LABEL006
Delete STRING001
FOpen 1, STRING001, 1, 3
For INTEGER001 = 1 To INTEGER002
FPutLn 1, TSTRING002(INTEGER001)
Next
FClose 1
End
;------------------------------------------------------------------------------
Procedure PROC001(Var String STRING005, Integer INTEGER004)
String STRING006
Integer INTEGER005
INTEGER005 = Len(STRING005)
Forward INTEGER005
:LABEL007
STRING006 = Upper(Inkey())
If (STRING006 == Chr(13)) Goto LABEL008
If (STRING006 == Chr(29)) Goto LABEL007
If (STRING006 == Chr(8)) Then
If (INTEGER005 == 0) Goto LABEL007
INTEGER005 = INTEGER005 - 1
Backup 1
Print "@X08·"
Backup 1
STRING005 = Left(STRING005, INTEGER005)
Goto LABEL007
Endif
If (!(Len(STRING006) == 1)) Goto LABEL007
If (Asc(STRING006) < 31) Goto LABEL007
If (INTEGER005 == INTEGER004) Goto LABEL007
STRING005 = STRING005 + STRING006
INTEGER005 = INTEGER005 + 1
Print "@X08", STRING006
Backup 1
Delay 1
Print "@X07", STRING006
Backup 1
Delay 1
Print "@X0F", STRING006
Goto LABEL007
:LABEL008
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 ClrEol
; 2 Color
; 62 Goto
; 44 Let
; 9 Print
; 34 If
; 1 DispFile
; 2 FOpen
; 2 FClose
; 1 FGet
; 1 FPutLn
; 1 StartDisp
; 1 Delete
; 3 Delay
; 10 AnsiPos
; 6 Backup
; 1 Forward
; 1 SPrintLn
; 1 EndProc
; 1 MkDir
;
;
; ■ Functions used :
;
; 1 -
; 1 /
; 27 +
; 4 -
; 20 ==
; 1 <>
; 10 <
; 5 <=
; 10 >=
; 29 !
; 10 &&
; 5 ||
; 3 Len(
; 1 Upper()
; 2 Left()
; 1 Right()
; 1 Ferr()
; 3 Chr()
; 1 Asc()
; 3 Trim()
; 2 U_Name()
; 1 StripAtx()
; 1 Strip()
; 1 Inkey()
; 5 PPEPath()
; 2 Exist()
; 1 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 5 For/Next
; 0 While/EndWhile
; 10 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------